home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-11-19 | 20.4 KB | 626 lines | [TEXT/MPS ] |
- /*
- File: TestMisc.cp
-
- Contains: Implementation of class TTestMisc
-
- Copyright: © 1992-1994 by Apple Computer, Inc., all rights reserved.
-
- */
-
- #ifndef __TESTMISC__
- #include "TestMisc.h"
- #endif
- #ifndef __LIBRARYMANAGERCLASSES__
- #include <LibraryManagerClasses.h>
- #endif
- #ifndef __MITEST1__
- #include "MITest1.h"
- #endif
- #ifndef __BACKDEPLIB__
- #include "BackDepLib.h"
- #endif
-
- TTestMisc::TTestMisc()
- {}
-
- TTestMisc::~TTestMisc()
- {}
-
- void TTestMisc::InitTest(BooleanParm, BooleanParm, int, char**)
- {
- ClientData* data = (ClientData*)GetClientData();
- if (data->fData != 0)
- Printf("### ERROR: fData field of ClientData not 0\n");
- if (data->fPointer != 0)
- Printf("### ERROR: fData field of ClientData not 0\n");
- data->fData = 1;
- data->fPointer = this;
- }
-
- void TTestMisc::EndTest(BooleanParm, BooleanParm)
- {
- ClientData* data = (ClientData*)GetClientData();
- if (data->fData != 2)
- Printf("### ERROR: fData field of ClientData not 2\n");
- if (data->fPointer != (char*)this + 1)
- Printf("### ERROR: fData field of ClientData not 'this' + 1\n");
- }
-
- void TTestMisc::RunTestIteration(BooleanParm verbose, BooleanParm debug)
- {
- //
- // First make sure the backwards dependency libraries load and
- // unload ok.
- //
- Printf("### INFO: Testing backwards dependencies.\n");
- OSErr err = LoadClass(ClassID(kTBackDep1ID),true);
- if (err == kNoError)
- UnloadClass(ClassID(kTBackDep1ID));
- else
- Printf("### ERROR: LoadClass on TBackDep1 class failed.\n");
-
- //
- // Test FindLibrary
- //
- TLibrary* test = LookupLibrary(ClassID("appl:test$TestLibrary"));
- if (test == NULL)
- Printf("### ERROR: LookupLibrary returned NULL\n");
- else
- if (test != GetLocalLibrary())
- Printf("### ERROR: LookupLibrary return %08lX instead of %08lX\n",
- test, GetLocalLibrary());
-
- test = LookupLibraryWithClassID(ClassID(kTTestMiscID));
- if (test == NULL)
- Printf("### ERROR: LookupLibraryWithClassID returned NULL\n");
- else
- if (test != GetLocalLibrary())
- Printf("### ERROR: LookupLibraryWithClassID return %08lX instead of %08lX\n",
- test, GetLocalLibrary());
- //
- // Test GetClientData
- //
- ClientData* data = (ClientData*)GetClientData();
- if (data->fData != 1)
- Printf("### ERROR: fData field of ClientData not 1\n");
- if (data->fPointer != this)
- Printf("### ERROR: fData field of ClientData not 'this'\n");
- data->fData = 2;
- data->fPointer = (char*)this + 1;
- //
- // Test TClassInfo
- //
- {
- if (verbose)
- Printf("### INFO: Testing TClassInfo\n");
- OSErr err;
- TClassInfo* info = GetClassInfo(*(TClassID*)kTTestMiscID, &err);
- if (info == NULL)
- {
- Printf("### ERROR: Got Error #%d for GetClassInfo on ID \"%s\".\n",
- err, kTTestMiscID);
- }
- else
- {
- TClassID* id = info->GetParentID(1);
- if (id != NULL)
- Printf("### ERROR: Got ClassID \"%s\" for 2nd parent of \"%s\".\n",
- id, kTTestMiscID);
- id = info->GetParentID(0);
- if (id == NULL)
- Printf("### ERROR: Got no ClassID for the parent of \"%s\".\n",
- kTTestMiscID);
- else
- if (*id != ClassID(kTTestToolID))
- Printf("### ERROR: Get ClassID \"%s\" for parent of \"%s\"\n"
- " instead of \"%s\".\n",
- id, kTTestMiscID, kTTestToolID);
- }
- delete info;
- }
-
- #if !defined(__SC__) && !defined(__MRC__)
- //
- // Test TClassInfo on Multiple Inheritance
- //
- {
- if (verbose)
- Printf("### INFO: Testing TClassInfo with multiple inheritance\n");
- OSErr err;
- TClassInfo* info = GetClassInfo(*(TClassID*)kTMixedClassID, &err);
- if (info == NULL)
- {
- Printf("### ERROR: Got Error #%d for GetClassInfo on ID \"%s\".\n",
- err, kTMixedClassID);
- }
- else
- {
- TClassID* id = info->GetParentID(3);
- if (id != NULL)
- Printf("### ERROR: Got ClassID \"%s\" for 4th parent of \"%s\".\n",
- id, kTMixedClassID);
- id = info->GetParentID(0);
- if (id == NULL)
- Printf("### ERROR: Got no ClassID for the parent of \"%s\".\n",
- kTStdDynamicID);
- else
- if (*id != ClassID(kTStdDynamicID))
- Printf("### ERROR: Get ClassID \"%s\" for parent of \"%s\"\n"
- " instead of \"%s\".\n",
- id, kTMixedClassID, kTStdDynamicID);
- id = info->GetParentID(1);
- if (id == NULL)
- Printf("### ERROR: Got no ClassID for the 2nd parent of \"%s\".\n",
- kTMixedClassID);
- else
- if (*id != ClassID(kMMixin2ID))
- Printf("### ERROR: Get ClassID \"%s\" for 2nd parent of \"%s\"\n"
- " instead of \"%s\".\n",
- id, kTMixedClassID, kMMixin2ID);
- id = info->GetParentID(2);
- if (id == NULL)
- Printf("### ERROR: Got no ClassID for the 3rd parent of \"%s\".\n",
- kTMixedClassID);
- else
- if (*id != ClassID(kMMixin1ID))
- Printf("### ERROR: Get ClassID \"%s\" for 3rd parent of \"%s\"\n"
- " instead of \"%s\".\n",
- id, kTMixedClassID, kMMixin1ID);
- info->SetBaseClassID(ClassID(kMMixin1ID));
- Printf("### INFO: Subclasses of MMixin1\n");
- while ((id = (TClassID*)info->Next()) != NULL)
- {
- Printf("### %s\n", (const char*)id);
- }
-
- }
- delete info;
- }
-
- {
- if (verbose)
- Printf("### INFO: Testing LoadClass on TMixedClass\n");
- if (debug)
- DebugBreak("About to load TMixedClass");
- OSErr err = LoadClass(ClassID(kTMixedClassID), true);
- if (err != kNoError)
- Printf("### ERROR: Error #%d occurred from LoadClass of \"%s\".",
- err, kTMixedClassID);
- else
- {
- err = UnloadClass(ClassID(kTMixedClassID));
- if (err != kNoError)
- Printf("### ERROR: Error #%d occurred from UnloadClass of \"%s\".",
- err, kTMixedClassID);
- }
- }
-
- {
- if (verbose)
- Printf("### INFO: Testing VTables on TMixedClass\n");
- if (debug)
- DebugBreak("About to create a TMixedClass");
-
- TMixedClass foo(5);
- int val;
- //
- // Operates on MMixin1::fieldm if all goes well
- // Should subtract 2 from the 5 already there
- //
- if ((val = (&foo)->Sub1(2)) != 3)
- Printf("### ERROR: TMixedClass::Foo - Expected 3, got %d\n", val);
- //
- // Operates on MMixin1::fieldm if all goes well
- // Should add 4 to the 3 already there
- //
- if ((val = (&foo)->Add1(3)) != 7)
- Printf("### ERROR: TMixedClass::Foo - Expected 7, got %d\n", val);
- //
- // Operates on fieldt if all goes well
- // Should multiply by 20 to the 5 already there
- //
- if ((val = (&foo)->Mul(10)) != 100)
- Printf("### ERROR: TMixedClass::Foo - Expected 100, got %d\n", val);
- //
- // Operates on MMixin2::fieldm if all goes well
- // Should add 8 to the 5 already there
- //
- if ((val = (&foo)->Add2(8)) != 13)
- Printf("### ERROR: TMixedClass::Foo - Expected 13, got %d\n", val);
- //
- // Operates on MMixin2::fieldm if all goes well
- // Should subtract 5 from the 13 already there
- //
- if ((val = (&foo)->Sub2(3)) != 8)
- Printf("### ERROR: TMixedClass::Foo - Expected 8, got %d\n", val);
- //
- // Operates on fieldt if all goes well
- // Should divide by 5 to the 100 already there
- //
- if ((val = (&foo)->Div(5)) != 20)
- Printf("### ERROR: TMixedClass::Foo - Expected 20, got %d\n", val);
-
- if (verbose)
- Printf("### INFO: Testing CastObject on TMixedClass\n");
-
- TStdDynamic* sdyn = (TStdDynamic*)CastObject(&foo, ClassID(kTStdDynamicID));
- if (sdyn == NULL)
- Printf("### ERROR: CastObject to TStdDynamic returned NULL\n");
- else
- if (sdyn != (TStdDynamic*)&foo)
- Printf("### ERROR: CastObject to TStdDynamic return wrong value\n");
-
- MMixin1* mixin1 = (MMixin1*)CastObject(&foo, ClassID(kMMixin1ID));
- if (mixin1 == NULL)
- Printf("### ERROR: CastObject to MMixin1 returned NULL\n");
- else
- if (mixin1 != (MMixin1*)&foo)
- Printf("### ERROR: CastObject to MMixin1 return wrong value\n");
-
- MMixin2* mixin2 = (MMixin2*)CastObject(&foo, ClassID(kMMixin2ID));
- if (mixin2 == NULL)
- Printf("### ERROR: CastObject to MMixin2 returned NULL\n");
- else
- if (mixin2 != (MMixin2*)&foo)
- Printf("### ERROR: CastObject to MMixin2 return wrong value\n");
-
- if (sdyn)
- {
- TMixedClass* mix1 = (TMixedClass*)CastObject(sdyn, ClassID(kTMixedClassID));
- if (sdyn == NULL)
- Printf("### ERROR: CastObject to TMixedClass from TStdDynamic returned NULL\n");
- else
- if (mix1 != &foo)
- Printf("### ERROR: CastObject to TMixedClass from TStdDynamic return wrong value\n");
- MMixin1* mixin1 = (MMixin1*)CastObject(sdyn, ClassID(kMMixin1ID));
- if (mixin1 == NULL)
- Printf("### ERROR: CastObject to MMixin1 from TStdDynamic returned NULL\n");
- else
- if (mixin1 != (MMixin1*)&foo)
- Printf("### ERROR: CastObject to MMixin1 from TStdDynamic return wrong value\n");
-
- MMixin2* mixin2 = (MMixin2*)CastObject(sdyn, ClassID(kMMixin2ID));
- if (mixin2 == NULL)
- Printf("### ERROR: CastObject to MMixin2 from TStdDynamic returned NULL\n");
- else
- if (mixin2 != (MMixin2*)&foo)
- Printf("### ERROR: CastObject to MMixin2 from TStdDynamic return wrong value\n");
- }
-
- if (mixin1)
- {
- TMixedClass* mix1 = (TMixedClass*)CastObject(mixin1, ClassID(kTMixedClassID));
- if (mix1 == NULL)
- Printf("### ERROR: CastObject to TMixedClass from MMixin1 returned NULL\n");
- else
- if (mix1 != &foo)
- Printf("### ERROR: CastObject to TMixedClass from MMixin1 return wrong value\n");
- }
-
- if (mixin2)
- {
- TMixedClass* mix2 = (TMixedClass*)CastObject(mixin2, ClassID(kTMixedClassID));
- if (mix2 == NULL)
- Printf("### ERROR: CastObject to TMixedClass from MMixin2 returned NULL\n");
- else
- if (mix2 != &foo)
- Printf("### ERROR: CastObject to TMixedClass from MMixin2 return wrong value\n");
- }
- }
- {
- if (verbose)
- Printf("### INFO: Testing Stubs for TMixedClass\n");
- if (debug)
- DebugBreak("About to test TMixedClass stubs");
-
- TMixedClass foo(5);
- int val;
- //
- // Operates on MMixin1::fieldm if all goes well
- // Should subtract 2 from the 5 already there
- //
- if ((val = foo.Sub1(2)) != 3)
- Printf("### ERROR: TMixedClass::Foo - Expected 3, got %d\n", val);
- //
- // Operates on MMixin1::fieldm if all goes well
- // Should add 4 to the 3 already there
- //
- if ((val = foo.Add1(3)) != 7)
- Printf("### ERROR: TMixedClass::Foo - Expected 7, got %d\n", val);
- //
- // Operates on fieldt if all goes well
- // Should multiply by 20 to the 5 already there
- // We don't want to go through a stub here since Mul is implemented
- // in TMainClass which is not an exported class and we don't want to
- // have to statically link with the implementation.
- //
- if ((val = (&foo)->Mul(10)) != 100)
- Printf("### ERROR: TMixedClass::Foo - Expected 100, got %d\n", val);
- //
- // Operates on MMixin2::fieldm if all goes well
- // Should add 8 to the 5 already there
- //
- if ((val = foo.Add2(8)) != 13)
- Printf("### ERROR: TMixedClass::Foo - Expected 13, got %d\n", val);
- //
- // Operates on MMixin2::fieldm if all goes well
- // Should subtract 5 from the 13 already there
- //
- if ((val = foo.Sub2(3)) != 8)
- Printf("### ERROR: TMixedClass::Foo - Expected 8, got %d\n", val);
- //
- // Operates on fieldt if all goes well
- // Should divide by 5 to the 100 already there
- //
- if ((val = foo.Div(5)) != 20)
- Printf("### ERROR: TMixedClass::Foo - Expected 20, got %d\n", val);
-
- }
- {
- if (verbose)
- Printf("### INFO: Testing VTables on TMixedClass2\n");
- if (debug)
- DebugBreak("About to create a TMixedClass2");
-
- TMixedClass2 foo(5);
- int val;
- //
- // Operates on MMixin1::fieldm if all goes well
- // Should subtract 2 from the 5 already there
- //
- if ((val = (&foo)->Sub1(2)) != 3)
- Printf("### ERROR: TMixedClass2::Foo - Expected 3, got %d\n", val);
- //
- // Operates on MMixin1::fieldm if all goes well
- // Should add 3 to the 3 already there
- //
- if ((val = (&foo)->Add1(3)) != 6)
- Printf("### ERROR: TMixedClass2::Foo - Expected 6, got %d\n", val);
- //
- // Operates on fieldt if all goes well
- // Should multiply by 10 to the 5 already there
- //
- if ((val = (&foo)->Mul(10)) != 50)
- Printf("### ERROR: TMixedClass2::Foo - Expected 50, got %d\n", val);
- //
- // Operates on MMixin2::fieldm if all goes well
- // Should add 8 to the 5 already there
- //
- if ((val = (&foo)->Add2(8)) != 13)
- Printf("### ERROR: TMixedClass2::Foo - Expected 13, got %d\n", val);
- //
- // Operates on MMixin2::fieldm if all goes well
- // Should subtract 3 from the 13 already there
- //
- if ((val = (&foo)->Sub2(3)) != 10)
- Printf("### ERROR: TMixedClass2::Foo - Expected 10, got %d\n", val);
- //
- // Operates on fieldt if all goes well
- // Should divide by 5 to the 50 already there
- //
- if ((val = (&foo)->Div(5)) != 10)
- Printf("### ERROR: TMixedClass::Foo - Expected 10, got %d\n", val);
- //
- // Operates on MMixin3::fieldm if all goes well
- // Should Add 10 to the 5 already there
- //
- if ((val = (&foo)->Add3(10)) != 15)
- Printf("### ERROR: TMixedClass2::Foo - Expected 15, got %d\n", val);
- //
- // Operates on MMixin3::fieldm if all goes well
- // Should subtract 11 from the 15 already there
- //
- if ((val = (&foo)->Sub3(8)) != 4)
- Printf("### ERROR: TMixedClass::Foo - Expected 4, got %d\n", val);
-
- if (verbose)
- Printf("### INFO: Testing CastObject on TMixedClass2\n");
-
- TMixedClass* mixed = (TMixedClass*)CastObject(&foo, ClassID(kTMixedClassID));
- if (mixed == NULL)
- Printf("### ERROR: CastObject to TMixedClass returned NULL\n");
- else
- if (mixed != (TMixedClass*)&foo)
- Printf("### ERROR: CastObject to TMixedClass return wrong value\n");
-
- TStdDynamic* sdyn = (TStdDynamic*)CastObject(&foo, ClassID(kTStdDynamicID));
- if (sdyn == NULL)
- Printf("### ERROR: CastObject to TStdDynamic returned NULL\n");
- else
- if (sdyn != (TStdDynamic*)&foo)
- Printf("### ERROR: CastObject to TStdDynamic return wrong value\n");
- else
- Printf("### INFO: TStdDynamic value was %08lX\n", sdyn);
-
- MMixin1* mixin1 = (MMixin1*)CastObject(&foo, ClassID(kMMixin1ID));
- if (mixin1 == NULL)
- Printf("### ERROR: CastObject to MMixin1 returned NULL\n");
- else
- if (mixin1 != (MMixin1*)&foo)
- Printf("### ERROR: CastObject to MMixin1 return wrong value\n");
- else
- Printf("### INFO: MMixin1 value was %08lX\n", mixin1);
-
- MMixin2* mixin2 = (MMixin2*)CastObject(&foo, ClassID(kMMixin2ID));
- if (mixin2 == NULL)
- Printf("### ERROR: CastObject to MMixin2 returned NULL\n");
- else
- if (mixin2 != (MMixin2*)&foo)
- Printf("### ERROR: CastObject to MMixin2 return wrong value\n");
- else
- Printf("### INFO: MMixin2 value was %08lX\n", mixin2);
-
- MMixin3* mixin3 = (MMixin3*)CastObject(&foo, ClassID(kMMixin3ID));
- if (mixin3 == NULL)
- Printf("### ERROR: CastObject to MMixin3 returned NULL\n");
- else
- if (mixin3 != (MMixin3*)&foo)
- Printf("### ERROR: CastObject to MMixin3 return wrong value\n");
- else
- Printf("### INFO: MMixin3 value was %08lX\n", mixin3);
-
- if (sdyn)
- {
- TMixedClass2* mix1 = (TMixedClass2*)CastObject(sdyn, ClassID(kTMixedClass2ID));
- if (mix1 == NULL)
- Printf("### ERROR: CastObject to TMixedClass from TStdDynamic returned NULL\n");
- else
- if (mix1 != &foo)
- Printf("### ERROR: CastObject to TMixedClass from TStdDynamic return wrong value\n");
- MMixin1* mmix1 = (MMixin1*)CastObject(sdyn, ClassID(kMMixin1ID));
- if (mmix1 == NULL)
- Printf("### ERROR: CastObject to MMixin1 from TStdDynamic returned NULL\n");
- else
- if (mmix1 != (MMixin1*)&foo)
- Printf("### ERROR: CastObject to MMixin1 from TStdDynamic return %08lX instead of %08lX\n",
- mmix1, (MMixin1*)&foo);
- MMixin2* mmix2 = (MMixin2*)CastObject(sdyn, ClassID(kMMixin2ID));
- if (mmix2 == NULL)
- Printf("### ERROR: CastObject to MMixin2 from MMixin1 returned NULL\n");
- else
- if (mmix2 != (MMixin2*)&foo)
- Printf("### ERROR: CastObject to MMixin2 from MMixin1 return %08lX instead of %08lX\n",
- mmix2, (MMixin2*)&foo);
- MMixin3* mmix3 = (MMixin3*)CastObject(sdyn, ClassID(kMMixin3ID));
- if (mmix3 == NULL)
- Printf("### ERROR: CastObject to MMixin3 from TStdDynamic returned NULL\n");
- else
- if (mmix3 != (MMixin3*)&foo)
- Printf("### ERROR: CastObject to MMixin3 from TStdDynamic return %08lX instead of %08lX\n",
- mmix3, (MMixin3*)&foo);
- }
- if (mixin1)
- {
- TMixedClass2* mix1 = (TMixedClass2*)CastObject(mixin1, ClassID(kTMixedClass2ID));
- if (mix1 == NULL)
- Printf("### ERROR: CastObject to TMixedClass from MMixin1 returned NULL\n");
- else
- if (mix1 != &foo)
- Printf("### ERROR: CastObject to TMixedClass from MMixin1 return wrong value\n");
- MMixin2* mmix2 = (MMixin2*)CastObject(mixin1, ClassID(kMMixin2ID));
- if (mmix2 == NULL)
- Printf("### ERROR: CastObject to MMixin2 from MMixin1 returned NULL\n");
- else
- if (mmix2 != (MMixin2*)&foo)
- Printf("### ERROR: CastObject to MMixin2 from MMixin1 return %08lX instead of %08lX\n",
- mmix2, (MMixin2*)&foo);
- MMixin3* mmix3 = (MMixin3*)CastObject(mixin1, ClassID(kMMixin3ID));
- if (mmix3 == NULL)
- Printf("### ERROR: CastObject to MMixin3 from MMixin1 returned NULL\n");
- else
- if (mmix3 != (MMixin3*)&foo)
- Printf("### ERROR: CastObject to MMixin3 from MMixin1 return %08lX instead of %08lX\n",
- mmix3, (MMixin3*)&foo);
- }
-
- if (mixin2)
- {
- TMixedClass2* mix2 = (TMixedClass2*)CastObject(mixin2, ClassID(kTMixedClass2ID));
- if (mix2 == NULL)
- Printf("### ERROR: CastObject to TMixedClass from MMixin2 returned NULL\n");
- else
- if (mix2 != &foo)
- Printf("### ERROR: CastObject to TMixedClass from MMixin2 return wrong value\n");
-
- MMixin1* mmix1 = (MMixin1*)CastObject(mixin2, ClassID(kMMixin1ID));
- if (mmix1 == NULL)
- Printf("### ERROR: CastObject to MMixin1 from MMixin2 returned NULL\n");
- else
- if (mmix1 != (MMixin1*)&foo)
- Printf("### ERROR: CastObject to MMixin1 from MMixin2 return %08lX instead of %08lX\n",
- mmix1, (MMixin1*)&foo);
-
- MMixin3* mmix3 = (MMixin3*)CastObject(mixin2, ClassID(kMMixin3ID));
- if (mmix3 == NULL)
- Printf("### ERROR: CastObject to MMixin3 from MMixin2 returned NULL\n");
- else
- if (mmix3 != (MMixin3*)&foo)
- Printf("### ERROR: CastObject to MMixin3 from MMixin2 return %08lX instead of %08lX\n",
- mmix3, (MMixin3*)&foo);
- }
- if (mixin3)
- {
- TMixedClass2* mix3 = (TMixedClass2*)CastObject(mixin3, ClassID(kTMixedClass2ID));
- if (mix3 == NULL)
- Printf("### ERROR: CastObject to TMixedClass from MMixin3 returned NULL\n");
- else
- if (mix3 != &foo)
- Printf("### ERROR: CastObject to TMixedClass from MMixin3 return wrong value\n");
-
- MMixin1* mmix1 = (MMixin1*)CastObject(mixin3, ClassID(kMMixin1ID));
- if (mmix1 == NULL)
- Printf("### ERROR: CastObject to MMixin1 from MMixin3 returned NULL\n");
- else
- if (mmix1 != (MMixin1*)&foo)
- Printf("### ERROR: CastObject to MMixin1 from MMixin3 return %08lX instead of %08lX\n",
- mmix1, (MMixin1*)&foo);
-
- MMixin2* mmix2 = (MMixin2*)CastObject(mixin3, ClassID(kMMixin2ID));
- if (mmix2 == NULL)
- Printf("### ERROR: CastObject to MMixin2 from MMixin3 returned NULL\n");
- else
- if (mmix2 != (MMixin2*)&foo)
- Printf("### ERROR: CastObject to MMixin2 from MMixin3 return %08lX instead of %08lX\n",
- mmix2, (MMixin2*)&foo);
- }
- }
- {
- if (verbose)
- Printf("### INFO: Testing Stubs on TMixedClass2\n");
- if (debug)
- DebugBreak("About to create a TMixedClass2");
-
- TMixedClass2 foo(5);
- int val;
- //
- // Operates on MMixin1::fieldm if all goes well
- // Should subtract 2 from the 5 already there
- //
- if ((val = foo.Sub1(2)) != 3)
- Printf("### ERROR: TMixedClass2::Foo - Expected 3, got %d\n", val);
- //
- // Operates on MMixin1::fieldm if all goes well
- // Should add 3 to the 3 already there
- //
- if ((val = foo.Add1(3)) != 6)
- Printf("### ERROR: TMixedClass2::Foo - Expected 6, got %d\n", val);
- //
- // Operates on fieldt if all goes well
- // Should multiply by 10 to the 5 already there.
- //
- if ((val = foo.Mul(10)) != 50)
- Printf("### ERROR: TMixedClass2::Foo - Expected 50, got %d\n", val);
- //
- // Operates on MMixin2::fieldm if all goes well
- // Should add 8 to the 5 already there
- //
- if ((val = foo.Add2(8)) != 13)
- Printf("### ERROR: TMixedClass2::Foo - Expected 13, got %d\n", val);
- //
- // Operates on MMixin2::fieldm if all goes well
- // Should subtract 3 from the 13 already there
- //
- if ((val = foo.Sub2(3)) != 10)
- Printf("### ERROR: TMixedClass2::Foo - Expected 10, got %d\n", val);
- //
- // Operates on fieldt if all goes well
- // Should divide by 5 to the 50 already there
- //
- if ((val = foo.Div(5)) != 10)
- Printf("### ERROR: TMixedClass::Foo - Expected 10, got %d\n", val);
- //
- // Operates on MMixin3::fieldm if all goes well
- // Should Add 10 to the 5 already there
- //
- if ((val = foo.Add3(10)) != 15)
- Printf("### ERROR: TMixedClass2::Foo - Expected 15, got %d\n", val);
- //
- // Operates on MMixin3::fieldm if all goes well
- // Should subtract 11 from the 15 already there
- //
- if ((val = foo.Sub3(8)) != 4)
- Printf("### ERROR: TMixedClass::Foo - Expected 4, got %d\n", val);
- }
- #endif
- }
-